package com.xdf.whiteaccount.entity;
import java.math.BigDecimal;
import java.io.Serializable;
/**
 * 由 chanchaw 创建于 2023-8-15 10:06:18，实现功能如下：
 * 1. 实现接口 Serializable
 * 2. 无参构造函数
 * 3. 建造者模式
 * 4. getter,setter,toString()
 * 合同主表
 */
public class FabContractMain implements Serializable {
    public FabContractMain() {}
    private static final long serialVersionUID = 1L;

    private Long id;//自增主键
    private String category;//区分合同中产品类型：成品合同、面料合同
    private String billCode;//单据编号
    private String clientId;//客户编号=contact_company.id
    private String contractNo;//合同号
    private java.util.Date contractDate;//合同日期
    private java.util.Date deadLine;//交货日期
    private String deliveryAddress;//交货地址，备用
    private String orderNo;//订单号
    private String deliveryMethod;//交货方式
    private Boolean invoicing;//默认1开票
    private String clerk;//业务员
    private Integer qtyi;//整形数量
    private BigDecimal qtyd;//浮点型数量
    private BigDecimal amount;//合同金额
    private String payment;//付款方式
    private String cut;//裁剪要求
    private String packaging;//包装要求
    private String box;//装箱要求
    private String processCraft;//工序工艺，备用
    private String remark;//备注
    private String remark01;//备注01
    private String remark02;//备注02
    private String remark03;//备注03
    private String remark04;//备注04，备用
    private String remark05;//备注05，备用
    private String warrantor;//跟单员
    private String warrantor01;//跟单员01
    private String warrantor02;//跟单员02
    private String warrantor03;//跟单员03
    private Integer state;//状态，默认1有效，0作废，-1删除
    private java.util.Date createTime;//创建时间，DB自动填充
    private String createUser;//创建人
    private java.util.Date lastTime;//最后一次修改时间
    private String lastUser;//最后一次修改人

    public Long getId(){return this.id;}
    public void setId(Long id){this.id = id;}
    public String getCategory(){return this.category;}
    public void setCategory(String category){this.category = category;}
    public String getBillCode(){return this.billCode;}
    public void setBillCode(String billCode){this.billCode = billCode;}
    public String getClientId(){return this.clientId;}
    public void setClientId(String clientId){this.clientId = clientId;}
    public String getContractNo(){return this.contractNo;}
    public void setContractNo(String contractNo){this.contractNo = contractNo;}
    public java.util.Date getContractDate(){return this.contractDate;}
    public void setContractDate(java.util.Date contractDate){this.contractDate = contractDate;}
    public java.util.Date getDeadLine(){return this.deadLine;}
    public void setDeadLine(java.util.Date deadLine){this.deadLine = deadLine;}
    public String getDeliveryAddress(){return this.deliveryAddress;}
    public void setDeliveryAddress(String deliveryAddress){this.deliveryAddress = deliveryAddress;}
    public String getOrderNo(){return this.orderNo;}
    public void setOrderNo(String orderNo){this.orderNo = orderNo;}
    public String getDeliveryMethod(){return this.deliveryMethod;}
    public void setDeliveryMethod(String deliveryMethod){this.deliveryMethod = deliveryMethod;}
    public Boolean getInvoicing(){return this.invoicing;}
    public void setInvoicing(Boolean invoicing){this.invoicing = invoicing;}
    public String getClerk(){return this.clerk;}
    public void setClerk(String clerk){this.clerk = clerk;}
    public Integer getQtyi(){return this.qtyi;}
    public void setQtyi(Integer qtyi){this.qtyi = qtyi;}
    public BigDecimal getQtyd(){return this.qtyd;}
    public void setQtyd(BigDecimal qtyd){this.qtyd = qtyd;}
    public BigDecimal getAmount(){return this.amount;}
    public void setAmount(BigDecimal amount){this.amount = amount;}
    public String getPayment(){return this.payment;}
    public void setPayment(String payment){this.payment = payment;}
    public String getCut(){return this.cut;}
    public void setCut(String cut){this.cut = cut;}
    public String getPackaging(){return this.packaging;}
    public void setPackaging(String packaging){this.packaging = packaging;}
    public String getBox(){return this.box;}
    public void setBox(String box){this.box = box;}
    public String getProcessCraft(){return this.processCraft;}
    public void setProcessCraft(String processCraft){this.processCraft = processCraft;}
    public String getRemark(){return this.remark;}
    public void setRemark(String remark){this.remark = remark;}
    public String getRemark01(){return this.remark01;}
    public void setRemark01(String remark01){this.remark01 = remark01;}
    public String getRemark02(){return this.remark02;}
    public void setRemark02(String remark02){this.remark02 = remark02;}
    public String getRemark03(){return this.remark03;}
    public void setRemark03(String remark03){this.remark03 = remark03;}
    public String getRemark04(){return this.remark04;}
    public void setRemark04(String remark04){this.remark04 = remark04;}
    public String getRemark05(){return this.remark05;}
    public void setRemark05(String remark05){this.remark05 = remark05;}
    public String getWarrantor(){return this.warrantor;}
    public void setWarrantor(String warrantor){this.warrantor = warrantor;}
    public String getWarrantor01(){return this.warrantor01;}
    public void setWarrantor01(String warrantor01){this.warrantor01 = warrantor01;}
    public String getWarrantor02(){return this.warrantor02;}
    public void setWarrantor02(String warrantor02){this.warrantor02 = warrantor02;}
    public String getWarrantor03(){return this.warrantor03;}
    public void setWarrantor03(String warrantor03){this.warrantor03 = warrantor03;}
    public Integer getState(){return this.state;}
    public void setState(Integer state){this.state = state;}
    public java.util.Date getCreateTime(){return this.createTime;}
    public void setCreateTime(java.util.Date createTime){this.createTime = createTime;}
    public String getCreateUser(){return this.createUser;}
    public void setCreateUser(String createUser){this.createUser = createUser;}
    public java.util.Date getLastTime(){return this.lastTime;}
    public void setLastTime(java.util.Date lastTime){this.lastTime = lastTime;}
    public String getLastUser(){return this.lastUser;}
    public void setLastUser(String lastUser){this.lastUser = lastUser;}


    @Override
    public String toString() {
        return "FabContractMain{" +
        ",id='" + id + '\'' +
        ",category='" + category + '\'' +
        ",billCode='" + billCode + '\'' +
        ",clientId='" + clientId + '\'' +
        ",contractNo='" + contractNo + '\'' +
        ",contractDate='" + contractDate + '\'' +
        ",deadLine='" + deadLine + '\'' +
        ",deliveryAddress='" + deliveryAddress + '\'' +
        ",orderNo='" + orderNo + '\'' +
        ",deliveryMethod='" + deliveryMethod + '\'' +
        ",invoicing='" + invoicing + '\'' +
        ",clerk='" + clerk + '\'' +
        ",qtyi='" + qtyi + '\'' +
        ",qtyd='" + qtyd + '\'' +
        ",amount='" + amount + '\'' +
        ",payment='" + payment + '\'' +
        ",cut='" + cut + '\'' +
        ",packaging='" + packaging + '\'' +
        ",box='" + box + '\'' +
        ",processCraft='" + processCraft + '\'' +
        ",remark='" + remark + '\'' +
        ",remark01='" + remark01 + '\'' +
        ",remark02='" + remark02 + '\'' +
        ",remark03='" + remark03 + '\'' +
        ",remark04='" + remark04 + '\'' +
        ",remark05='" + remark05 + '\'' +
        ",warrantor='" + warrantor + '\'' +
        ",warrantor01='" + warrantor01 + '\'' +
        ",warrantor02='" + warrantor02 + '\'' +
        ",warrantor03='" + warrantor03 + '\'' +
        ",state='" + state + '\'' +
        ",createTime='" + createTime + '\'' +
        ",createUser='" + createUser + '\'' +
        ",lastTime='" + lastTime + '\'' +
        ",lastUser='" + lastUser + '\'' +
        '}';
    }

    public static class Builder{
        private Long id;
        private String category;
        private String billCode;
        private String clientId;
        private String contractNo;
        private java.util.Date contractDate;
        private java.util.Date deadLine;
        private String deliveryAddress;
        private String orderNo;
        private String deliveryMethod;
        private Boolean invoicing;
        private String clerk;
        private Integer qtyi;
        private BigDecimal qtyd;
        private BigDecimal amount;
        private String payment;
        private String cut;
        private String packaging;
        private String box;
        private String processCraft;
        private String remark;
        private String remark01;
        private String remark02;
        private String remark03;
        private String remark04;
        private String remark05;
        private String warrantor;
        private String warrantor01;
        private String warrantor02;
        private String warrantor03;
        private Integer state;
        private java.util.Date createTime;
        private String createUser;
        private java.util.Date lastTime;
        private String lastUser;

        public Builder id(Long id){this.id = id;return this;}
        public Builder category(String category){this.category = category;return this;}
        public Builder billCode(String billCode){this.billCode = billCode;return this;}
        public Builder clientId(String clientId){this.clientId = clientId;return this;}
        public Builder contractNo(String contractNo){this.contractNo = contractNo;return this;}
        public Builder contractDate(java.util.Date contractDate){this.contractDate = contractDate;return this;}
        public Builder deadLine(java.util.Date deadLine){this.deadLine = deadLine;return this;}
        public Builder deliveryAddress(String deliveryAddress){this.deliveryAddress = deliveryAddress;return this;}
        public Builder orderNo(String orderNo){this.orderNo = orderNo;return this;}
        public Builder deliveryMethod(String deliveryMethod){this.deliveryMethod = deliveryMethod;return this;}
        public Builder invoicing(Boolean invoicing){this.invoicing = invoicing;return this;}
        public Builder clerk(String clerk){this.clerk = clerk;return this;}
        public Builder qtyi(Integer qtyi){this.qtyi = qtyi;return this;}
        public Builder qtyd(BigDecimal qtyd){this.qtyd = qtyd;return this;}
        public Builder amount(BigDecimal amount){this.amount = amount;return this;}
        public Builder payment(String payment){this.payment = payment;return this;}
        public Builder cut(String cut){this.cut = cut;return this;}
        public Builder packaging(String packaging){this.packaging = packaging;return this;}
        public Builder box(String box){this.box = box;return this;}
        public Builder processCraft(String processCraft){this.processCraft = processCraft;return this;}
        public Builder remark(String remark){this.remark = remark;return this;}
        public Builder remark01(String remark01){this.remark01 = remark01;return this;}
        public Builder remark02(String remark02){this.remark02 = remark02;return this;}
        public Builder remark03(String remark03){this.remark03 = remark03;return this;}
        public Builder remark04(String remark04){this.remark04 = remark04;return this;}
        public Builder remark05(String remark05){this.remark05 = remark05;return this;}
        public Builder warrantor(String warrantor){this.warrantor = warrantor;return this;}
        public Builder warrantor01(String warrantor01){this.warrantor01 = warrantor01;return this;}
        public Builder warrantor02(String warrantor02){this.warrantor02 = warrantor02;return this;}
        public Builder warrantor03(String warrantor03){this.warrantor03 = warrantor03;return this;}
        public Builder state(Integer state){this.state = state;return this;}
        public Builder createTime(java.util.Date createTime){this.createTime = createTime;return this;}
        public Builder createUser(String createUser){this.createUser = createUser;return this;}
        public Builder lastTime(java.util.Date lastTime){this.lastTime = lastTime;return this;}
        public Builder lastUser(String lastUser){this.lastUser = lastUser;return this;}
        public FabContractMain build(){
            return new FabContractMain(this);
        }
    }

    public static Builder builder(){return new Builder();}
    public FabContractMain(Builder builder){
        this.id = builder.id;
        this.category = builder.category;
        this.billCode = builder.billCode;
        this.clientId = builder.clientId;
        this.contractNo = builder.contractNo;
        this.contractDate = builder.contractDate;
        this.deadLine = builder.deadLine;
        this.deliveryAddress = builder.deliveryAddress;
        this.orderNo = builder.orderNo;
        this.deliveryMethod = builder.deliveryMethod;
        this.invoicing = builder.invoicing;
        this.clerk = builder.clerk;
        this.qtyi = builder.qtyi;
        this.qtyd = builder.qtyd;
        this.amount = builder.amount;
        this.payment = builder.payment;
        this.cut = builder.cut;
        this.packaging = builder.packaging;
        this.box = builder.box;
        this.processCraft = builder.processCraft;
        this.remark = builder.remark;
        this.remark01 = builder.remark01;
        this.remark02 = builder.remark02;
        this.remark03 = builder.remark03;
        this.remark04 = builder.remark04;
        this.remark05 = builder.remark05;
        this.warrantor = builder.warrantor;
        this.warrantor01 = builder.warrantor01;
        this.warrantor02 = builder.warrantor02;
        this.warrantor03 = builder.warrantor03;
        this.state = builder.state;
        this.createTime = builder.createTime;
        this.createUser = builder.createUser;
        this.lastTime = builder.lastTime;
        this.lastUser = builder.lastUser;
    }
    /**
     * 自定义代码请写在此处之后
     */
}
